C语言中的循环之 for 循环 (中)-学习笔记-11

引入 for 循环

在看完了 while 循环之后,我们发现,一个循环最重要的有三件事,循环次数、判断条件、循环后递增条件。比如我们在使用 while 循环的时候,就要实现定义一个计次变量,然后每次循环后累加这个变量,使得我们能够在满足条件时及时的跳出循环。而 for 循环则是将这一切变得更容易了!

fro 循环

我们先看一个例子,来对比一下 for 循环和 while 循环,同样是那个1~30累加的例子。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//以下是 while 循环的写法
#include <stdio.h>
int main(){
int i=1;result=0;
while(i<=30){
result=result+i;
i++;
}
printf("1~30的累加结果是:%d\n",result);
return 0;
}


//以下是 for 循环的写法
#include <stdio.h>
int main(){
int result=0;
for(int i=1;i<=30;i++){
result=result+i;
}
printf("1~30的累加结果是:%d\n",result);
return 0;
}

我们对比上面的两种写法,再对比循环的三个重要条件,就可以发现 for 循环 是 while 循环的简写
1、对比计次变量
while 循环:单独一行int i=1;
for 循环:直接写在 for 语句内,for(int i=1;i<=30;i++){...}
2、对比循环条件判断
while 循环:写在 while 循环语句内while (i<=30);
for 循环:写在 for 语句内,for(int i=1;i<=30;i++){...}
3、对比每次循环的变量增值
while 循环:写在 while 循环体内,单独一行i++;
for 循环:写在 for 语句内,for(int i=1;i<=30;i++){...}

综上,我们可以看到,for 循环在语句内直接把循环最终要的三个表达式都写好了,非常方便使用。

一般形式

for (表达式1 ; 表达式2 ; 表达式3 )语句

使用

表达式1:设置初始条件,只执行一次,可以为零个、一个或多个变量设置初始值。
例如我们可以把上面的例子改为

1
2
3
for(int i=1,int result=0;i<=30;i++){
......
}

表达式2:是循环条件的表达式,用来判定是否继续执行循环体,先判断后执行,这个和 do…while 不同!

表达式3:作为循环的调整,例如循环变量的增值啊等等,表达式3是在循环执行完之后才进行。

运行过程是:
先执行表达式1,比如赋初始值等操作,然后计算表达式2的真假,如果是真,则执行循环体,如果为假则跳出循环体,执行循环体之后,表达式3执行,作为循环增量,进行一些变化。

for 和 while 的区别

简单来说,就是三个表达式的位置的区别。
while 循环:
表达式1
while(表达式2){
表达式3
}

for 循环:
for (表达式1 ; 表达式2 ; 表达式3 )

特殊

  1. 在 for 循环中,表达式1的内容可以省略,即可以没有初始值。
  2. 表达式2的内容也可以省略,即不设置和检查循环条件,始终执行下去。
  3. 表达式3也可以省略,即没有在循环结束时需要调整的循环增量。

注意
在 for 循环中,虽然这些表达式可以省略,但是分号不能省略,for 循环中的表达式是一个简单语句,需要用分号区别。

例子

输入字符串,然后回车,利用 for 循环,逐个返回。

1
2
3
4
5
6
7
8
#include <stdio.h>
int main(){
char p;
for(;(p=getchar())!='\n';){
printf("%c",p);
}
return 0;
}

尾巴

这是我的个人学习笔记,主要是应付考研复习使用,充斥着一些吐槽和个人观点,并不严谨,欢迎大家参考、指正。


-------------The End-------------
欢迎请我喝咖啡哦~!